'use strict'

define(['jquery', 'bootstrap', 'select2', 'shiftform', 'validate', 'validate.en', 'datetimepicker', 'datetimepickerCN'], function ($) {
  return {
    init: function () {
      this.initCreate();
      this.initEdit();
      this.initDelete();
    },

    initCreate: function () {
      $(document).on("shown.bs.modal", "#create", function (e) {
        
        $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
        
        var $form = $(e.currentTarget).find("form")                          //bind shiftform
        $form.shiftform({
          beforeSubmit: function (el) {
            $form.trigger("validate.ajax.submit");
            return $.bt_validate.result[$.bt_validate.form_id]
          }
        })
        
      });
    },
    
    initEdit: function () {
      $(document).on("shown.bs.modal", "#edit", function (e) {
        
        $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
        
        var $form = $(e.currentTarget).find("form")                          //bind shiftform
        $form.shiftform({
          beforeSubmit: function (el) {
            $form.trigger("validate.ajax.submit");
            return $.bt_validate.result[$.bt_validate.form_id]
          }
        })
        
      });
    },
    
    initDelete: function () {
      $(document).on("shown.bs.modal", "#delete", function (e) {
        var $form = $(e.currentTarget).find("form")                          //bind shiftform
        $form.shiftform();
      });
    }
    
  }
})